home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 98 / Skunkware 98.iso / src / net / omniORB-2.5.0-src.tar.gz / omniORB-2.5.0-src.tar / omniORB_2.5.0 / PORTING < prev    next >
Text File  |  1998-02-05  |  2KB  |  54 lines

  1. This file provides some pointers to port omniORB2 to a new platform.
  2.  
  3. It should be straightforward to port omniORB2 to any platform which support
  4. POSIX style threads, BSD style sockets and has a decent C++ compiler which
  5. supports exceptions and templates. The description below assumes the port
  6. is to a unix platform but the information provided is valid for any
  7. platforms.
  8.  
  9. To start a port, you must create a platform configuration file in
  10. ./mk/platforms for the new platform. It is better to copy an existing one
  11. and modify to suit the new platform. Next, edit the file ./mk/config.mk to set the platform variable to the new platform. Suppose you have created a new file called x_y_z.mk. You should put a line like this in ./mk/config.mk:
  12.  
  13. platform = x_y_z
  14.  
  15. The makefiles in the distribution only work with GNUmake. Make sure that
  16. you have the program installed.
  17.  
  18. The libraries and programs in omniORB2 are configured by a number of
  19. CPP macros specified as compiler flags and in several header files. The
  20. details are as follows:
  21.  
  22. 1. Platform specific macros
  23.  
  24.    Each platform must be provided with three macros to identify the OS,
  25.    the CPU and the OS version. For instance, the compiler flags for the
  26.    supported platforms are:
  27.  
  28.    Solaris 2.5/ Sparc      | -D__sunos__ -D__sparc__ -D__OSVERSION__=5 -DSVR4
  29.    Digital Unix 3.2/ Alpha | -D__osf1__ -D__alpha__ -D__OSVERSION__=3
  30.    Linux 2.0/ x86          | -D__linux__ -D__x86__ -D__OSVERSION__=2
  31.  
  32. 2. Porting omnithread library
  33.  
  34.    The file ./include/omnithread.h should be edited to include #if conditionals
  35.    that can uniquely identify the new platform and to include the appropriate
  36.    implementation-specific header file.
  37.  
  38.    There are different POSIX threads implementations that conform to different
  39.    draft versions. The following compiler flags should be used to identify
  40.    the exact versions:
  41.  
  42.    o -DPthreadDraftVersion=<x>  (e.g. x = 10 for Solaris 2.5)
  43.    o -DPthreadSupportThreadPriority
  44.    o -DNoNanoSleep
  45.  
  46. 3. Porting omniORB2 library
  47.  
  48.    The file ./include/omniORB2/CORBA_sysdep.h contains #if conditionals that
  49.    define the size of primitive data types, CPU endian and other platform
  50.    specific information. You should add to this file the information about
  51.    the new platform.
  52.  
  53. Good Luck.
  54.